/*
 * @author=nagebaixiong
 * @version=0.1.0.20230116
 * @createTime=20230116 00:53
 * @lastModifiedTime=20230116 00:53
 * @description=学习c++语言的输入输出
 */

/*
 * C++语言本身没有输入输出相关语句
 * 但是它提供了<iostream>标准库用于交互
 * <iostream>可以认为是<istream>和<ostream>的合集
 * <iostream>包含了4个对象：cin、cout、cerr、clog
 *
 * 1. 想使用某个库必须先引入
 * 2. 引入头文件的语句不能中间换行
 * 3. 我们一般把引入语句集中于源代码的开始位置
 */
#include <iostream>

int main()
{
    // `std`是命名空间，所有标准库的标识符都定义在`std`命名空间中
    // `::`是作用域符（scope operator）用于指明要使用标识符的命名空间
    std::cout << "Enter two numbers:" << std::endl;

    // C++的注释有两种，一种是单行注释（双斜线）`//`
    // 另一种是多行注释`/* */`，所有出现在两个隔离符中间的内容都会被当成注释
    // 当使用`/* */`用于多行注释时，建议在中间行首加上星号（*）以明确这是注释内容
    int v1 = 0, v2 = 0;

    // 双目运算符`>>`（输入运算符）左边必须是`istream`对象，右边对象用于存储值
    // 其返回值是左边的操作（即`istream`对象），所以我们可以进行链式输入
    std::cin >> v1 >> v2;

    // 双目运算符`<<`（输出运算符）左边必须是`ostream`对象，右边是要打印的内容
    // 其返回值是左边的操作（即`ostream`对象），所以我们可以进行链式输出
    std::cout << "The sum of " << v1 << " and " << v2 << " is ";
    std::cout << v1 + v2 << std::endl;
    return 0;
}